package com.data.hijack.service;

import java.util.Map;
import java.util.Objects;

/**
 * @author husq
 */
public class SysConfig {
    private Map<String, String> sysConfig;
    private String bizName;
    private String charset;
    private String status;
    private String msgType;
    private String isInterceptable;
    private String isTranslatable;
    private String isChanged;
    private String host;
    private String port;
    private String path;
    private String schema;
    private String timeout;
    private String mode;
    private String proccessor;
    private String tmpDir;
    private boolean logMessage;
    private int maxConnections;

    public void setSysConfig(final Map<String, String> sysConfig) {
        this.sysConfig = sysConfig;
    }

    public void setBizName(final String bizName) {
        this.bizName = bizName;
    }

    public void setCharset(final String charset) {
        this.charset = charset;
    }

    public void setStatus(final String status) {
        this.status = status;
    }

    public void setMsgType(final String msgType) {
        this.msgType = msgType;
    }

    public void setIsInterceptable(final String isInterceptable) {
        this.isInterceptable = isInterceptable;
    }

    public void setIsTranslatable(final String isTranslatable) {
        this.isTranslatable = isTranslatable;
    }

    public void setIsChanged(final String isChanged) {
        this.isChanged = isChanged;
    }

    public void setHost(final String host) {
        this.host = host;
    }

    public void setPort(final String port) {
        this.port = port;
    }

    public void setPath(final String path) {
        this.path = path;
    }

    public void setSchema(final String schema) {
        this.schema = schema;
    }

    public void setTimeout(final String timeout) {
        this.timeout = timeout;
    }

    public void setMode(final String mode) {
        this.mode = mode;
    }

    public void setProccessor(final String proccessor) {
        this.proccessor = proccessor;
    }

    public Map<String, String> getSysConfig() {
        return this.sysConfig;
    }

    public String getBizName() {
        return this.bizName;
    }

    public String getCharset() {
        return this.charset;
    }

    public String getStatus() {
        return this.status;
    }

    public String getMsgType() {
        return this.msgType;
    }

    public String getIsInterceptable() {
        return this.isInterceptable;
    }

    public String getIsTranslatable() {
        return this.isTranslatable;
    }

    public String getIsChanged() {
        return this.isChanged;
    }

    public String getHost() {
        return this.host;
    }

    public String getPort() {
        return this.port;
    }

    public String getPath() {
        return this.path;
    }

    public String getSchema() {
        return this.schema;
    }

    public String getTimeout() {
        return this.timeout;
    }

    public String getMode() {
        return this.mode;
    }

    public String getProccessor() {
        return this.proccessor;
    }

    public int getMaxConnections() {
        return this.maxConnections;
    }

    public void setMaxConnections(final int maxConnections) {
        this.maxConnections = maxConnections;
    }

    public String getTmpDir() {
        return this.tmpDir;
    }

    public void setTmpDir(final String tmpDir) {
        this.tmpDir = tmpDir;
    }

    public boolean getLogMessage() {
        return this.logMessage;
    }

    public void setLogMessage(final boolean logMessage) {
        this.logMessage = logMessage;
    }

    @Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || this.getClass() != o.getClass()) {
            return false;
        }
        final SysConfig sysConfig1 = (SysConfig)o;
        return Objects.equals(this.sysConfig, sysConfig1.sysConfig) && Objects.equals(this.bizName, sysConfig1.bizName)
            && Objects.equals(this.charset, sysConfig1.charset) && Objects.equals(this.status, sysConfig1.status)
            && Objects.equals(this.msgType, sysConfig1.msgType)
            && Objects.equals(this.isInterceptable, sysConfig1.isInterceptable)
            && Objects.equals(this.isTranslatable, sysConfig1.isTranslatable)
            && Objects.equals(this.isChanged, sysConfig1.isChanged) && Objects.equals(this.host, sysConfig1.host)
            && Objects.equals(this.port, sysConfig1.port) && Objects.equals(this.path, sysConfig1.path)
            && Objects.equals(this.schema, sysConfig1.schema) && Objects.equals(this.timeout, sysConfig1.timeout)
            && Objects.equals(this.mode, sysConfig1.mode) && Objects.equals(this.proccessor, sysConfig1.proccessor);
    }

    @Override
    public int hashCode() {
        return Objects.hash(this.sysConfig, this.bizName, this.charset, this.status, this.msgType, this.isInterceptable,
            this.isTranslatable, this.isChanged, this.host, this.port, this.path, this.schema, this.timeout, this.mode,
            this.proccessor);
    }

    @Override
    public String toString() {
        return "SysConfig{" + "sysConfig=" + sysConfig + ", bizName='" + bizName + '\'' + ", charset='" + charset + '\''
            + ", status='" + status + '\'' + ", msgType='" + msgType + '\'' + ", isInterceptable='" + isInterceptable
            + '\'' + ", isTranslatable='" + isTranslatable + '\'' + ", isChanged='" + isChanged + '\'' + ", host='"
            + host + '\'' + ", port='" + port + '\'' + ", path='" + path + '\'' + ", schema='" + schema + '\''
            + ", timeout='" + timeout + '\'' + ", mode='" + mode + '\'' + ", proccessor='" + proccessor + '\'' + '}';
    }
}
